Skip to main content

兼容 IE6、IE7、火狐 的"加入收藏""设为首页"

IE6、IE7 的"加入收藏"代码:

window.external.addFavorite(sURL, sTitle); 说明: addFavorite 的第一个字母a不是大写!纵然微软参考上是大写,但"事实胜于雄辩"。

Firefox 的"加入收藏"代码:

方法一、

<a href="http://blog.csdn.net/pengyouchuan/" title="YCPENG's blog" rel="sidebar">加入收藏</a>

关键在于 rel="sidebar";href 属性值作为收藏网址;title 作为收藏名称。

方法二、

window.sidebar.addPanel(sTitle, sURL, "");

第一个参数是收藏名称;第二个参数是收藏网址;第三个是自定义 Tab 所需的 URL,为零长度字符串即可。注意参数顺序与 addFavorite 不同。我们推荐第二种方法。

不论哪一种方法,加入收藏夹后,单击收藏的项目都是在侧边栏(sidebar)中打开网页,要在主窗口中打开只有两种办法:法一是右键打开;法二是右键改其属性。这不能不说是 Firefox 收藏夹的遗憾。

兼容 IE6、IE7、FF 的"加入收藏"完整代码:

<script type="text/javascript" language="javascript">
function AddFavorite(sURL, sTitle) {
try {
window.external.addFavorite(sURL, sTitle);
} catch (e) {
try {
window.sidebar.addPanel(sTitle, sURL, "");
} catch (e) {
alert("加入收藏失败,请手动添加.");
}
}
}
function setHomepage(pageURL) {
if (document.all) {
document.body.style.behavior='url(#default#homepage)';
document.body.setHomePage(pageURL);
}
else if (window.sidebar) {
if(window.netscape) {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
}
catch (e) {
alert( "该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输入 about:config,然后将项signed.applets.codebase_principal_support 值该为true" );
}
}
var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components. interfaces.nsIPrefBranch);
prefs.setCharPref('browser.startup.homepage',pageURL);
}
}
</script>
<a href="javascript:setHomepage('url');">设为首页</a>
<a href="#" onclick="javascript:AddFavorite('url', 'sitename');return false">加入收藏</a>